home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
500 MB Nyheder Direkte fra Internet 9
/
500 MB nyheder direkte fra internet CD 9.iso
/
start
/
zipped
/
dos
/
novell
/
sdk.exe
/
SDK
/
NWSIPX32.H
next >
Wrap
C/C++ Source or Header
|
1995-08-23
|
24KB
|
961 lines
//*++======================================================================
// Program Name: Ipx/Spx 32-bit API
//
// File Name: NWSIPX32.H
//
// Version: v1.00
//
// Abstract: This module defines the 32-bit API for IPX/SPX
//
// Copyright (C) 1995 Novell, Inc. All Rights Reserved.
//
// No part of this file may be duplicated, revised, translated, localized,
// or modified in any manner or compiled, linked or uploaded or downloaded
// to or from any computer system without the prior written consent of
// Novell, Inc.
//=====================================================================--*/
#ifndef NWSIPX32_H
#define NWSIPX32_H
//===[ Manifest constants ]================================================
//
// Current API version
//
#define NWSIPX32_API_VERSION 0x00000001
//
// NWTCB Synchronization Types
//
// These types are used to control the request completion notification to
// the application. They are passed as a parameter to the
// NWSipxAllocControlBlock and NWSipxChangeControlBlock API primitives.
//
#define SIPX_API_EVENT 0x00000001 // Request allocs event
#define SIPX_API_MUX_EVENT 0x00000002 // Request allocs mux event
#define SIPX_BLOCKING 0x00000003 // Request is synchronous
#define SIPX_POLLING 0x00000004 // Request will poll
#define SIPX_USER_EVENT 0x00000005 // Request uses app event
#define SIPX_CALLBACK 0x00000006 // Request uses app callback
//
// Event Timeout Constant Definitions.
//
// These constants are used as parameters to the NWSipxWaitForSingleEvent
// and NWSipxWaitForMultipleEvents API primitives. The SIPX_NO_WAIT
// causes the API primitives to check the signaled status of the events but
// not wait for event completion. The SIPX_INFINITE_WAIT constant causes
// the wait API primitives to wait forever for the event to be signalled.
//
#define SIPX_NO_WAIT 0x00000000 // Return immediately.
#define SIPX_INFINITE_WAIT 0xFFFFFFFF // Wait forever
//
// Mulitiple API Event Constants
//
// This constant is used when calling NWSipxAllocControlBlock and
// NWSipxChangeControlBlock with the SIPX_API_MUX_EVENT synchronization type
// specified. A pointer to this constant is passed as a parameter to tell
// the system to allocate the multiple events from a new event group and pass
// the event group identifier back in its place.
//
#define SIPX_ALLOC_MUX_GROUP (SIPXMUXGRP_HANDLE) 0xFFFFFFFF
//
// Query Service Types
//
// These type are used when calling the NWSipxQueryServices API primitive.
// They are passed in the queryType parameter to specify the type of SAP
// query to perform.
//
#define SIPX_ALL_SERVERS 0x00000001 // Query for all servers
#define SIPX_NEAREST_SERVER 0x00000002 // Query for nearest server
//
// Establish Connection Flags
//
// These flags are set when calling the NWSipxEstablishConnection API
// primitive. They are passed by the application in the NWTCB structure
// in the TCBFlags field. The SIPX_CONNECT_NO_WATCHDOG flag disables the
// connection keep-alive protocol.
//
#define SIPX_CONNECT_NO_WATCHDOG 0x00000001 // Don't enable the watchdog
//
// Listen For Connection Flags
//
// These flags are set when calling the NWSipxListenForConnection and
// the NWSipxAcceptConnection API primitives. They are passed by the
// application in the NWTCB structure in the TCBFlags field. The
// SIPX_LISTEN_DELAY_ACCEPT flag forces the listen request to return
// immediately upon receiving a connection request without replying to the
// request. The connection request can be satisified later by calling
// NWSipxAcceptConnection. The SIPX_LISTEN_NO_WATCHDOG flag disables the
// connection keep-alive protocol.
//
#define SIPX_LISTEN_DELAY_ACCEPT 0x00000001 // Delayed connection accept
#define SIPX_LISTEN_NO_WATCHDOG 0x00000002 // Don't enable the watchdog
//
// Terminate Connection Flags
//
// These flags are set when calling the NWSipxTerminateConnection API
// primitive. They are passed by the application in the NWTCB structure
// in the TCBFlags field. The SIPX_TERM_ABORT flags causes the local
// connection endpoint to be closed without informing the remote connection
// endpoint. The SIPX_TERM_ACKED flag cause the remote connection endpoint
// to be notified that the local endpoint is closing.
//
#define SIPX_TERM_ABORT 0x00000001 // Abort connection
#define SIPX_TERM_ACKED 0x00000002 // SPX terminate
#define SIPX_TERM_REJECT 0x00000004 // Reject connection
//
// Send Message Flags
//
// These flags are set when calling the NWSipxSendMessage API primitive.
// They are passed by the application in the NWTCB structure in the TCBFlags
// field. The SIPX_SNDMSG_PARTIAL flag tells the SPX driver not to set the
// end-of-message bit in the SPX packet header. Setting the end-of-message
// bit implies that the entire message was represented in the send request.
// The SIPX_SNDMSG_DSTRM_TYPE flag sets the value in the TCBDatastreamType
// field of the NWTCB in the datastream field of the SPX packet header. The
// SIPX_SNDMSG_ATTN flag tell the SPX driver to set the SPX attention bit
// in the SPX header of send packet.
//
#define SIPX_SNDMSG_PARTIAL 0x00000001 // Message is not all here
#define SIPX_SNDMSG_DSTRM_TYPE 0x00000002 // Set datastream type
#define SIPX_SNDMSG_ATTN 0x00000004 // Set SPX ATTN bit
//
// Send Datagram Flags
//
// These flags are set when calling the NWSipxSendDatagram API primitive.
// They are passed by the application in the NWTCB structure in the TCBFlags
// field. The SIPX_SNDDG_PACKET_TYPE flag sets the value in the
// TCBPacketType field of the NWTCB in the packet type field of the IPX
// header. The SIPX_SNDDG_VERIFY_ROUTE causes IPX to rediscover the route
// to the remote endpoint. The SIPX_SNDDG_SPECIFIC_ROUTE tells the IPX
// driver to use the subnetwork handle in the TCBSubnetworkHandle field of
// the NWTCB structure to send the packet. The SIPX_SNDDG_BEST_ROUTE flag
// tells the IPX driver to select the best route based on the packet size.
// The handle of the subnetwork used to send the packet will be returned in
// the TCBSubnetworkHandle field of the NWTCB structure when the
// NWSipxSendDatagram request completes. The SIPX_SNDDG_SPECIFIC_ROUTE and
// the SIPX_SNDDG_BEST_ROUTE flags are mutually exclusive. The
// SIPX_SNDDG_GENERATE_CHKSUM flag causes a checksum to be generated using
// the IPX packet and set in the checksum field of the IPX header.
//
#define SIPX_SNDDG_PACKET_TYPE 0x00000001 // Set the packet type
#define SIPX_SNDDG_VERIFY_ROUTE 0x00000002 // Get the route again
#define SIPX_SNDDG_SPECIFIC_ROUTE 0x00000004 // Subnetwork specified
#define SIPX_SNDDG_BEST_ROUTE 0x00000008 // Ipx choose best route
#define SIPX_SNDDG_GENERATE_CHKSUM 0x00000010 // Send with checksum
//
// Receive Message Flags
//
// These flags are returned when calling the NWSipxReceiveMessage API
// primitive. They are returned by the system in the TCBFlags field of the
// NWTCB structure. The SIPX_RCVMSG_PARTIAL is returned when the
// end-of-message bit in the received SPX header is not set or if the
// received data overflows the application's buffer. If the
// SIPX_RCVMSG_PARTIAL bit is not set, end-of-message is implied and the
// entire message has been received. The SIPX_RCVMSG_ATTN flag is returned
// when the SPX attention bit is set in the received SPX header.
//
#define SIPX_RCVMSG_PARTIAL 0x00000001 // More data to receive
#define SIPX_RCVMSG_ATTN 0x00000002 // Received SPX ATTN bit
//
// Receive Datagram Flags
//
// These flags are set when calling the NWSipxReceiveDatagram API primitive.
// They are passed by the application in the TCBFlags field of the NWTCB
// structure. The SIPX_RCVDG_VALIDATE_CHKSUM flag causes the checksum
// received in the IPX packet header to be verified.
//
#define SIPX_RCVDG_VALIDATE_CHKSUM 0x00000001 // Validate received checksum
//
// Query For Services Flags
//
// The SIPX_QUERY_SPECIFIC_ROUTE is used to tell the query process which
// subnetwork to send the query request out on.
//
#define SIPX_QUERY_SPECIFIC_ROUTE 0x00000001 // Use specified subnetwork
//
// Transport events.
//
// These are events that the application may register to receive
// notification for when calling the NWSipxRegisterForTransportEvent API
// primitive. They are passed by the application in the TCBTransportEvent
// field of the NWTCB structure.
//
#define SIPX_LISTEN_FOR_DISCONNECT 0x00000001 // Listen for remote term
#define SIPX_SCHEDULE_TIMER_EVENT 0x00000002 // Schedule timer event
#define SIPX_SUBNET_STATUS_CHANGE 0x00000003 // Subnet status change
//
// Information Levels
//
// Each level causes different information to be set or retrieved. These
// levels are passed by the application as parameters to the
// NWSipxGetInfomation and NWSipxSetInformation API primitives.
//
//
#define SIPX_API_INFORMATION 0x00000001
#define SIPX_SOCKET_INFORMATION 0x00000002
#define SIPX_CONN_INFORMATION 0x00000003
#define SIPX_NWTCB_INFORMATION 0x00000004
//
// Maximum Transport Address Length
//
// This is the maximum length of a transport address. It is used in the
// NETADDR structure.
//
#define SIPX_MAX_TRANS_ADDR_LEN 32
//
// Connection States
//
// These values are retrieved in the SIPX_CONN_INFO structure by the
// NWSipxGetInformation API primitive and represent the current state of
// the specified connection.
//
#define SIPX_ALLOCATED 0x00000001
#define SIPX_CONNECTING 0x00000002
#define SIPX_LISTENING 0x00000003
#define SIPX_WAITING_ACCEPT 0x00000004
#define SIPX_CONNECTED 0x00000005
#define SIPX_TERMINATING 0x00000006
#define SIPX_TERMINATED 0x00000007
//
// NWTCB State Parameters
//
// These values are retrieved in the SIPX_NWTCB_INFO structure by the
// NWSipxGetInformation API primitive and describe the current state of the
// specified NWTCB.
//
#define SIPX_TCB_ALLOCATED 0x00000000 // Control block is allocated
#define SIPX_TCB_IN_USE 0x00000001 // Control block is in use
//
//
// Connection Parameters.
//
// These values are set and retreived in the SIPX_CONN_INFO structure by the
// NWSipxGetInformation and NWSipxSetInformation API primitives.
// SIPX_CONN_STREAM tells the SPX driver to ignore the end-of-message bit
// and hand up any received data as soon as it arrives, even if the buffer
// is not full. SIPX_CONN_MESSAGE value causes the SPX driver to respect
// the end-of-message bit. The SIPX_CONN_LONG_TERM and SIPX_CONN_SHORT_TERM
// values specifies to the SPX driver the lifetime of the connection.
//
#define SIPX_CONN_STREAM 0x00000001 // Ignore the EOM bit
#define SIPX_CONN_MESSAGE 0x00000002 // Respect the EOM bit
#define SIPX_CONN_LONG_TERM 0x00000003 // Long lived connection
#define SIPX_CONN_SHORT_TERM 0x00000004 // Short lived connection
//
// Socket Parameters
//
// These values are set and retreived in the SIPX_SOCKET_INFO structure by
// the NWSipxGetInformation and NWSipxSetInformation API primitives. The
// SIPX_SOCK_STATIC and the SIPX_SOCK_DYNAMIC flags tells whether the
// specified socket is a named socket or a dynamic socket.
//
#define SIPX_SOCK_STATIC 0x00000001 // Named socket
#define SIPX_SOCK_DYNAMIC 0x00000002 // Dynamic socket
//
// SUBNET Parameters
//
// These values are retreived in the SIPX_SUBNET_INFO structure by
// the NWSipxGetInformation API primitive. The SIPX_SN_XSUM_FLAG
// tells whether the SUBNET supports checksumming. The SIPX_SN_DEFAULT_FLAG
// indicates that this SUBNET is the default subnetwork.
//
#define SIPX_SN_XSUM_FLAG 0x00000001 // Checksum supported
#define SIPX_SN_DEFAULT_FLAG 0x00000002 // This is the default subnet
#define SIPX_SN_ACTIVE_FLAG 0x00000004 // Subnet is active
//
// Status Code Definitions
//
// These status codes are returned by the API primitives. Macros are
// defined to quickly check whether the status is informational or
// indicates an error.
//
#define SIPX_SUCCESS(x) !(((nuint32)(x)) & 0x80000000)
#define SIPX_ERROR(x) (((nuint32)(x)) & 0x80000000)
//
// If the most significant bit of the return status code is set, this
// indicates an error condition. If the second most significant bit is
// set, this indicates a warning or informational status. If both these
// bits are clear, the operation was successful.
//
#define SIPX_SUCCESSFUL 0x00000000
#define SIPX_PENDING 0x00000001
#define SIPX_ACCESS_DENIED 0x80000001
#define SIPX_ACCESS_VIOLATION 0x80000002
#define SIPX_CANCELED 0x80000003
#define SIPX_CONNECTION_ABORTED 0x80000004
#define SIPX_CANNOT_CANCEL 0x80000005
#define SIPX_CONNECTION_TERMINATED 0x80000006
#define SIPX_INSUFFICIENT_RESOURCES 0x80000007
#define SIPX_INVALID_SUBNETWORK_HANDLE 0x80000008
#define SIPX_INVALID_CHECKSUM 0x80000009
#define SIPX_INVALID_CONNECTION_HANDLE 0x8000000A
#define SIPX_INVALID_FRAGMENT_COUNT 0x8000000B
#define SIPX_INVALID_FRAGMENT_LIST 0x8000000C
#define SIPX_INVALID_HANDLE 0x8000000D
#define SIPX_INVALID_IOCTL_BUFFER_LEN 0x8000000E
#define SIPX_INVALID_IOCTL_FUNCTION 0x8000000F
#define SIPX_INVALID_INFO_TYPE 0x80000010
#define SIPX_INVALID_MUX_GROUP_HANDLE 0x80000012
#define SIPX_INVALID_NETWORK_ADDRESS 0x80000013
#define SIPX_INVALID_NWTCB 0x80000014
#define SIPX_INVALID_NWTCB_FLAGS 0x80000015
#define SIPX_INVALID_PARAMETER 0x80000016
#define SIPX_INVALID_PARAMETER_MIX 0x80000017
#define SIPX_INVALID_QUERY_TYPE 0x80000018
#define SIPX_INVALID_SERVICE_TYPE 0x80000019
#define SIPX_INVALID_SOCKET_HANDLE 0x8000001A
#define SIPX_INVALID_STATE 0x8000001B
#define SIPX_INVALID_SYNC_TYPE 0x8000001C
#define SIPX_INVALID_TRANSPORT_EVENT 0x8000001D
#define SIPX_MEMORY_LOCK_ERROR 0x8000001E
#define SIPX_NO_SUBNETS_BOUND_TO_IPX 0x8000001F
#define SIPX_NO_RESPONSE_FROM_TARGET 0x80000020
#define SIPX_NO_ROUTE_TO_TARGET 0x80000021
#define SIPX_SERVICE_NOT_ACTIVE 0x80000022
#define SIPX_NWTCB_IN_USE 0x80000023
#define SIPX_PARTIAL_SERVER_INFO 0x80000024
#define SIPX_REQUEST_NOT_PENDING 0x80000025
#define SIPX_SOCKET_IN_USE 0x80000026
#define SIPX_UNSUCCESSFUL 0x80000027
#define SIPX_INTERNAL_ERROR 0x80000028
#define SIPX_SERVICE_ALREADY_ACTIVE 0x80000029
#define SIPX_INVALID_SERVICE_NAME 0x8000002A
//===[ Type definitions ]==================================================
//
// Transport address types.
//
typedef enum TAG_TRANSPORT_ADDR_TYPE
{
TA_IPX_SPX,
TA_COUNT
} TRANSPORT_ADDR_TYPE;
//
// NetWare IPX/SPX transport address structure definition.
//
typedef struct TAG_IPXADDR
{
nuint8 NANet[4];
nuint8 NANode[6];
nuint8 NASocket[2];
} IPXADDR, *PIPXADDR;
//
// Transport Address Structure
//
// This structure can be used to define multiple address types.
// The only address type currently supported is the TA_IPX_SPX type.
//
typedef struct TAG_NETADDR
{
nuint32 NAType;
nuint32 NALength;
union
{
nuint8 NAGenAddress[SIPX_MAX_TRANS_ADDR_LEN];
IPXADDR NAIpxAddress;
} NAAddress;
} NETADDR, *PNETADDR;
//
// Data fragment structure defintion.
//
typedef struct TAG_FRAGMENT
{
nptr FAddress;
nuint32 FLength;
} FRAGMENT, *PFRAGMENT;
//
// SIPX Handle structure definition
//
struct TAG_SIPXHANDLE;
//
// Transport address object context definition.
//
typedef struct TAG_SIPXHANDLE *SIPXSOCK_HANDLE, **PSIPXSOCK_HANDLE;
//
// NetWare transport connection context structure.
//
typedef struct TAG_SIPXHANDLE *SIPXCONN_HANDLE, **PSIPXCONN_HANDLE;
//
// Subnetwork object context definition.
//
typedef struct TAG_SIPXHANDLE *SIPXSUBNET_HANDLE, **PSIPXSUBNET_HANDLE;
//
// MuxGroup object context definition.
//
typedef struct TAG_SIPXHANDLE *SIPXMUXGRP_HANDLE, **PSIPXMUXGRP_HANDLE;
//
// NetWare transport control block structure definition.
//
typedef struct TAG_NWTCB
{
//
// Link pointers for control block list manipulation.
//
struct TAG_NWTCB *TCBNext;
struct TAG_NWTCB *TCBPrevious;
//
// The socket handle returned by NWSipxOpenSocket.
//
SIPXSOCK_HANDLE TCBSockHandle;
//
// The connection handle returned by NWSipxOpenConnectionEndpoint.
//
SIPXCONN_HANDLE TCBConnHandle;
//
// Client specific context field, typically used when specifing
// a callback routine.
//
nptr TCBClientContext;
//
// Transport event parameters. These are used when registering
// for specific transport events.
//
nuint32 TCBTransportEvent;
union
{
nuint32 TCBTimeout;
nuint8 TCBEventSpace[32];
} TCBEvent;
//
// The final status for the request just completed.
//
nuint32 TCBFinalStatus;
//
// Number of bytes sent or received on a transfer (send/receive) data
// operation.
//
nuint32 TCBBytesTransferred;
//
// Request/Reply flags used to set or indicate status.
//
nflag32 TCBFlags;
//
// Network address of remote client. Filled in by
// NWSipxListenForConnection and NWSipxReceiveDatagram. Set by
// application for NWSipxEstablishConnection and NWSipxSendDatagram.
//
NETADDR TCBRemoteAddress;
//
// Handle of subnetwork used to send or receive packet. The subnetwork
// handle may be set in this field by the application when using the
// NWSipxSendDatagram API primitive to direct IPX to use a specific
// subnetwork. The handle of the subnetwork used to send or receive the
// packet is returned in this field upon completion of the
// NWSipxSendDatagram, NWSipxReceiveDatagram, NWSipxEstablishConnection
// and NWSipxListenForConnection requests.
//
SIPXSUBNET_HANDLE TCBSubnetworkHandle;
//
// Message sequence number.
//
nuint32 TCBMsgSequenceNumber;
//
// IPX packet type.
//
nuint8 TCBPacketType;
//
// SPX Datastream type.
//
nuint8 TCBDataStreamType;
//
// Reserved for future use.
//
nuint8 TCBReserved[2];
//
// Number of data fragments specified by the client.
//
nuint32 TCBFragmentCount;
//
// Pointer to the client data fragment list.
//
PFRAGMENT TCBFragmentList;
} NWTCB, *PNWTCB, **PPNWTCB;
//
// API Information Structure
//
//
// The SUBNET_INFO structure is associated with the API_INFO structure.
// Each SUBNET_INFO structure describes an attachment to the network.
// There is a unique local network address (net.node) bound to each SUBNET
// by the IPX protocol stack.
//
typedef struct TAG_SIPX_SUBNET_INFO
{
SIPXSUBNET_HANDLE SNSubnetworkHandle;
nuint32 SNMaxNsduSize;
NETADDR SNNetAddress;
nflag32 SNFlags;
} SIPX_SUBNET_INFO, *PSIPX_SUBNET_INFO;
typedef struct TAG_SIPX_API_INFO
{
nuint32 AIApiVersion;
nuint32 AIIpxVersion;
nuint32 AISpxVersion;
nuint32 AISubnetCount; // Number of SUBNETs bound to by IPX
SIPX_SUBNET_INFO AISubnetInfo[1]; // Array of AISubnetCount entries
} SIPX_API_INFO, *PSIPX_API_INFO;
//
// Socket Information Structure
//
typedef struct TAG_SIPX_SOCKET_INFO
{
nuint32 SIIpxVersion;
nflag32 SIAttributeFlags;
nuint16 SISocketNumber;
nuint16 SIReserved;
nuint32 SIPacketType;
SIPXSUBNET_HANDLE SISubnetworkHandle;
} SIPX_SOCKET_INFO, *PSIPX_SOCKET_INFO;
//
// Connection Information Structure
//
typedef struct TAG_SIPX_CONN_INFO
{
nuint32 CISpxVersion;
nuint32 CIState;
nuint32 CIDataStreamType;
nuint32 CIConnectionProfile;
nuint32 CIInputMode;
nuint32 CIStreamingTimer;
nuint32 CIRetryCount;
nptr CISocketHandle;
nuint32 CIMaxTsduSize;
} SIPX_CONN_INFO, *PSIPX_CONN_INFO;
//
// NWTCB Information Structure
//
typedef struct TAG_SIPX_NWTCB_INFO
{
nuint32 NWIState;
nuint32 NWIEventType;
nuint32 NWIEventInfo;
} SIPX_NWTCB_INFO, *PSIPX_NWTCB_INFO;
//
// Service Information Structure
//
//
// The SIPX_SERVICE_INFO structure is used with the NWSipxQueryServices API
// primitive. One or more SIPX_SERVICE_INFO structures are returned in the
// data space provided by the client application. These structures contain
// the requested server information.
//
typedef struct TAG_SIPX_SERVICE_INFO
{
nuint16 SIServerType;
nstr8 SIServerName[48];
nuint8 SINetwork[4];
nuint8 SINode[6];
nuint8 SISocket[2];
nuint16 SIHops;
} SIPX_SERVICE_INFO, *PSIPX_SERVICE_INFO;
//===[ Function prototypes ]===============================================
N_EXTERN_LIBRARY(nuint32)
NWSipxAcceptConnection
(
PNWTCB pNwtcb,
SIPXCONN_HANDLE hAcceptHandle
);
N_EXTERN_LIBRARY(nuint32)
NWSipxAdvertiseService
(
nuint16 serviceType,
pnstr8 pServerName,
SIPXSOCK_HANDLE hSockHandle
);
N_EXTERN_LIBRARY(nuint32)
NWSipxAllocControlBlock
(
nuint32 syncType,
nptr pEventInfo,
PPNWTCB ppNwtcb
);
N_EXTERN_LIBRARY(nuint32)
NWSipxCancelAdvertiseService
(
nuint16 serviceType,
pnstr8 pServerName,
SIPXSOCK_HANDLE hSockHandle
);
N_EXTERN_LIBRARY(nuint32)
NWSipxCancelPendingRequest
(
PNWTCB pNwtcb
);
N_EXTERN_LIBRARY(nuint32)
NWSipxChangeControlBlock
(
nuint32 syncType,
nptr pEventInfo,
PNWTCB pNwtcb
);
N_EXTERN_LIBRARY(nuint32)
NWSipxCheckRequestComplete
(
PNWTCB pNwtcb
);
N_EXTERN_LIBRARY(nuint32)
NWSipxCloseConnectionEndpoint
(
SIPXCONN_HANDLE hConnHandle
);
N_EXTERN_LIBRARY(nuint32)
NWSipxCloseSocket
(
SIPXSOCK_HANDLE hSockHandle
);
N_EXTERN_LIBRARY(nuint32)
NWSipxEstablishConnection
(
PNWTCB pNwtcb
);
N_EXTERN_LIBRARY(nuint32)
NWSipxFreeControlBlock
(
PNWTCB pNwtcb
);
N_EXTERN_LIBRARY(nuint32)
NWSipxFreeInformation
(
nptr pInfoStruct
);
N_EXTERN_LIBRARY(nuint32)
NWSipxGetInformation
(
nuint32 infoType,
nptr hHandle,
pnptr ppInfoStruct,
pnuint32 pInfoStructLen
);
N_EXTERN_LIBRARY(nuint32)
NWSipxGetInternetAddress
(
SIPXSOCK_HANDLE hSockHandle,
PNETADDR pNetAddress
);
N_EXTERN_LIBRARY(nuint32)
NWSipxGetMaxNsduSize
(
SIPXSOCK_HANDLE hSockHandle
);
N_EXTERN_LIBRARY(nuint32)
NWSipxGetMaxTsduSize
(
SIPXCONN_HANDLE hConnHandle
);
N_EXTERN_LIBRARY(nuint32)
NWSipxListenForConnection
(
PNWTCB pNwtcb
);
N_EXTERN_LIBRARY(nuint32)
NWSipxOpenConnectionEndpoint
(
pnuint16 pSocket,
PSIPXCONN_HANDLE pConnHandle
);
N_EXTERN_LIBRARY(nuint32)
NWSipxOpenSocket
(
pnuint16 pSocket,
PSIPXSOCK_HANDLE pSockHandle
);
N_EXTERN_LIBRARY(nuint32)
NWSipxQueryServices
(
nuint16 queryType,
nuint16 serviceType,
PNWTCB pNwtcb
);
N_EXTERN_LIBRARY(nuint32)
NWSipxReceiveDatagram
(
PNWTCB pNwtcb
);
N_EXTERN_LIBRARY(nuint32)
NWSipxReceiveMessage
(
PNWTCB pNwtcb
);
N_EXTERN_LIBRARY(nuint32)
NWSipxRegisterForTransportEvent
(
PNWTCB pNwtcb
);
N_EXTERN_LIBRARY(nuint32)
NWSipxSendDatagram
(
PNWTCB pNwtcb
);
N_EXTERN_LIBRARY(nuint32)
NWSipxSendMessage
(
PNWTCB pNwtcb
);
N_EXTERN_LIBRARY(nuint32)
NWSipxSetInformation
(
nuint32 infoType,
nptr hHandle,
nptr pInfoStruct
);
N_EXTERN_LIBRARY(nuint32)
NWSipxTerminateConnection
(
PNWTCB pNwtcb
);
N_EXTERN_LIBRARY(nuint32)
NWSipxWaitForSingleEvent
(
PNWTCB pNwtcb,
nuint32 timeOut
);
N_EXTERN_LIBRARY(nuint32)
NWSipxWaitForMultipleEvents
(
SIPXMUXGRP_HANDLE muxGroupHandle,
nuint32 timeOut,
PPNWTCB ppNwtcb
);
//===[ Global variables ]==================================================
#endif // NWSIPX32_H
//=========================================================================
//=========================================================================